package com.zsk.shop.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @author Administrator
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("商城商品实体")
public class ShopGoods {

    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(name = "id", value = "主键编号", dataType = "Long")
    private Long id;

    @ApiModelProperty(name = "goodsNo", value = "商品编号-关联sku", dataType = "String")
    private String goodsNo;

    @ApiModelProperty("商品特殊标记 @EnumGoodsType")
    private Integer goodsType;

    @ApiModelProperty("vip会员礼包商品等级")
    private Integer vipLevel = 0;

    @ApiModelProperty("复购礼包商品等级")
    private Integer againVipLevel = 0;

    @ApiModelProperty(name = "goodsImgs", value = "商品图片", dataType = "String")
    private String goodsImgs;

    @ApiModelProperty(name = "goodsName", value = "商品名称(20字)", dataType = "String")
    private String goodsName;

    @ApiModelProperty(name = "introduction", value = "简介(50字)", dataType = "String")
    private String introduction;

    @ApiModelProperty(name = "goodsCategoryNo", value = "商品2级分类", dataType = "String")
    private String goodsCategoryNo;

    @ApiModelProperty(name = "goodsLabelNo", value = "商品标签", dataType = "String")
    private String goodsLabelNo;

    @ApiModelProperty(name = "accordingLabelShow", value = "首页是否展示商品标签", dataType = "String")
    private Boolean accordingLabelShow;

    @ApiModelProperty(name = "goodsDetail", value = "商品详情", dataType = "String")
    private String goodsDetail;

    @ApiModelProperty(name = "status", value = "状态 1上架0下架", dataType = "Boolean")
    private Boolean status;

    @ApiModelProperty(name = "isReturnPoints", value = "是否返还积分", dataType = "Boolean")
    private Boolean isReturnPoints;

    @ApiModelProperty(name = "publishType", value = "商品发布限制开关：是否发布1马上发布，2根据时间发布，3不发布", dataType = "Integer")
    private Integer publishType;

    @ApiModelProperty(name = "publishTime", value = "发布时间", dataType = "Date")
    private Date publishTime;

    @ApiModelProperty(name = "limitBuyCount", value = "限购数量", dataType = "String")
    private Integer limitBuyCount;

    @ApiModelProperty(name = "createUser", value = "创建用户", dataType = "String")
    private String createUser;

    @ApiModelProperty(name = "updateUser", value = "修改用户", dataType = "String")
    private String updateUser;

    @ApiModelProperty(name = "isDeleted", value = "是否删除", dataType = "Boolean")
    private Boolean isDeleted;

    @ApiModelProperty(name = "createTime", value = "创建时间", dataType = "Date")
    private Date createTime;

    @ApiModelProperty(name = "updateTime", value = "修改时间", dataType = "Date")
    private Date updateTime;

    @ApiModelProperty(name = "havePreSaleTime", value = "是否有预售时间", dataType = "Boolean")
    private Boolean havePreSaleTime = false;

    @ApiModelProperty(name = "preSaleTime", value = "预售时间", dataType = "Date")
    private Date preSaleTime;

}